1. Field of the Invention
The present invention relates generally to value lists used with databases to facilitate data entry, and more particularly, to an improved process and system for generating and editing value lists used with databases.
2. Description of the Related Art
Early database software programs were a great relief for people who needed to organize and store vast amounts of data. Thus, databases allowed people to input and store information in a form which could be easily re-called and updated. As is well known in the art, database programs are no longer only used in business settings, but have gained tremendous acceptance and usage by families and students. By way of example, families have used database programs to keep medical records, keep a budget, maintain an inventory of assets, and compile wedding plan information. Similarly, students may use a database program to maintain student loan records, prioritize class events, and coordinate field trips.
Generally, database programs have gained increased acceptance by the computing public with the advent of more user friendly database programs which have made data entry more efficient. Although there have been great improvements in database software programs, there is still a great need for database programs that reduce the hassles associated with repetitively entering frequently used information from scratch each time the information is needed for a particular database field. To solve this problem, database software programs have incorporated "value lists." In general, value lists are a series of frequently used values such as, e.g., text, numbers, dates and times that are presented to a user for selection during data entry.
In operation, when a database designer wants a particular field in a database to have only certain types of values, a custom value list can be created for that field. In this manner, when the user selects a field that has a previously assigned value list, the user will be presented with a custom value list from which to make a selection for entry. As can be appreciated, when database fields have assigned value lists, more control is maintained over the particular values that can be entered into a particular field. Further, data entry is made more efficient because users need only make a choice from the value list, instead of having to enter information from scratch at the risk of introducing mistakes or typographical errors.
FIG. 1 shows an invoice database 10 having a number of fields used to record customer information and itemize purchases. A number of standard customer information fields 12 show where the customer's name and address is input. Also shown is an account number field 14, an invoice date field 16, an invoice number field 18, a units field 26, a part number field 28, a description field 30, and a calculation field 32. In this example, a value list 34 is shown being assigned to part number field 28. Therefore, when a user goes to enter a part number for the particular type of merchandise being sold, the user need only select the part number field 28, and a pop-up list 34 appears displaying a plurality of part choices. At this point, the user can select the appropriate part without having to enter it from scratch.
Although value lists that are assigned to a particular field have proven to be useful to maintain control over data entry by a user, the value lists are "field specific." That is, once a value list is created for a particular field, that value list conventionally cannot be shared by other fields in the same database or other databases. In the particular example illustrated in FIG. 1, value list 34 cannot be used with other fields in invoice database 10, other databases may find tremendous benefit in re-using value list 34 which was previously created for part number field 28. Unfortunately, a user will be required to laboriously re-create value list 34 each time the user wants to use the values in value list 34 for another field. In addition to being highly laborious, each time value list 34 is re-created, the possibility of introducing mistakes or typographical errors is increased. An even more taxing consequence is that when an up-date or change is made to the values in one value list, all occurrences of the same value list, whether they are in the same database or in another database must also be up-dated. As can be appreciated, this can potentially make maintaining frequently used database value lists extremely time consuming and counterproductive to the efficient utilization of value lists.
In addition to being unable to share existing value lists among fields in a database, when a value list is created, all of the values in the value list must be manually entered even though the values may already exist in other fields in the current database or another database. By way of example, the user of invoice database 10 may already have another database that already itemizes all of the currently available part numbers. However, the user is not able to create value list 34 based on the values in the another database having all of the currently available part numbers. Because the user is unable to base value list 34 on another database, the user will have to manually create values list 34 from scratch.
As mentioned above, manually creating numerous identical value lists can be extremely taxing and repetitive. This is especially true when updates or changes are required for all of the identical value lists. Further, when changes are made to a master database having field values used to create multiple value lists, each and every value list must also be updated. In addition, when a value list is updated, the database is typically inactivated while the change is being made. As can be appreciated, this would especially decrease user's productivity when a database is being accessed by multiple users over a network.
In view of the foregoing, what is needed is a process and system for generating value lists that may be shared between fields requiring the same values in the same database or in another database. There is also a need for a process and system for generating value lists that are based on values within fields of the same database or of another database.